package ex2.employee;

import java.util.Collection;


public interface IEmployeeHandler {

	
	/**
	 * 
	 * @return all employees in the Employee Handler
	 */
	Collection<IEmployee> getEmployees();
	
	/**
	 * 
	 * @param username
	 * @param amount
	 * @return the total expenses of the associated user name 
	 */
	double getTotalExpenses(String username);
	
	
	/**
	 * 
	 * @param username
	 * @return true if the given user name isn't belong to any employee.
	 */
	boolean isAvailableUsername(String username);
	
	
		

	/**
	 * This method cleans employees that appears in manager 
	 * subordinates list but not appear in the system.  
	 */
	void clearRedundantEmployees();
	
	
	/**
	 * This method cleans equipment that appears in specialist 
	 * equipment list but not appear in the equipment list. 
	 */
	void clearRedundantEquipment();
	
}
